package com.th.supcom.pds.domain.pojo;

import java.util.Date;

import net.carefx.framework.translate.Translatable;
import net.carefx.framework.translate.annotation.TranslateField;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * PdsSupply Pojo对象.
 * 
 * 供药单主表.
 */
public class PdsSupply implements java.io.Serializable, Translatable
{
    private static final long serialVersionUID = 1L;

    /** 供药ID. */
    private Long m_supplyId;

    /** 处方单号. */
    private String m_prescNo;

    /** 就诊ID. */
    private Long m_outpVisitId;

    /** 患者主索引ID（来源与EMPI）. */
    private String m_patientId;

    /** 患者就诊次数. */
    private Long m_visitId;

    /** 患者姓名. */
    private String m_patiName;

    /** 性别编码(GB2261-80). */
    private String m_patiSex;

    /** 年龄. */
    private String m_patiAge;

    /** 标识处方是从门诊而来或是从住院而来。0-门诊 1-住院 2-出院带药，3-急诊，4-平诊,5-门诊退药，6-住院退药. */
    @TranslateField (fullQualifiedName = "PDS0004", targetFieldName = "m_prescSourceName")
    private Integer m_prescSource;
    private String m_prescSourceName;

    /** 医嘱名称(医嘱描述). */
    private String m_orderName;

    /**
     * 开单科室
     */
    @TranslateField (translatorName = "organizationTranslator", targetFieldName = "m_orderedByName")
    private String m_orderedBy;
    private String m_orderedByName;

    /** 总剂数. */
    private Integer m_pxAmount;

    /** 每日剂数. */
    private Integer m_pxDaily;

    /** 剂型(字典码). */
    private String m_dosageForm;

    /** 剂型数量. */
    private Double m_dosageFormAmount;

    /** 剂型数量单位. */
    private String m_dosageFormUnit;

    /** 是否代煎. */
    private String m_boilFlag;

    /** 服药频次. */
    private String m_freqCode;

    /** 医嘱医疗频率执行描述（频次时间点以及用量相关信息). */
    private String m_freqTimeQty;

    /** 医嘱医疗频率. */
    private String m_freqName;

    /** 服药频次备注. */
    private String m_freqMemo;

    /** 用法(给药途径)(字典表). */
    private String m_usageId;

    /** 用法名称. */
    private String m_usageName;

    /** 是否审核. */
    private String m_checkFlag;

    /** 处方合格标志. */
    @TranslateField (fullQualifiedName = "PDS0002", targetFieldName = "m_qualifiedTypeName")
    private String m_qualifiedType;
    
    /**
     * 处方审核合格标志
     */
    private String m_qualifiedTypeName;

    /** 核药人编码. */
    private String m_userIdCheck;

    /** 核药人. */
    private String m_userNameCheck;

    /** 审核备注. */
    private String m_checkMemo;

    /**
     * 审核时间CHECK_DATETIME .
     */
    private Date m_checkDatetime;

    /** 0=西药 1=中草药 2=中成药,3=免煎药处方. */
    @TranslateField (fullQualifiedName = "TJ0057", targetFieldName = "m_prescClassifcationName")
    private Integer m_prescClassfication;
    private String m_prescClassifcationName;

    /** 处方类型(普通、毒、麻、精一). */
    @TranslateField (fullQualifiedName = "PDS0005", targetFieldName = "m_prescTypeName")
    private String m_prescType;
    private String m_prescTypeName;

    /** 开立医师编码. */
    private String m_empIdBegDoct;

    /** 开立医师名称. */
    private String m_empNameBegDoct;

    /** 执行科室. */
    @TranslateField (translatorName = "organizationTranslator", targetFieldName = "m_orgIdExecName")
    private String m_orgIdExec;
    private String m_orgIdExecName;

    /** 创建时间. */
    private Date m_createDate;

    /** 是否作废（0：未作废、1：已作废）. */
    private String m_isInvalid;

    /** 参考费用. */
    private Double m_amountSuggest;

    /** 收费时间. */
    private Date m_chargeDate;

    /** 收据号. */
    private String m_rcptNo;

    /** 发药、退药标记. */
    private String m_sendOrReturnFlag;

    /** 患者当前就诊院区编码（字典表，TJ0039院区编码）. */
    private String m_orgIdHospital;
    
    /** 处方状态*/
    @TranslateField (fullQualifiedName = "PDS0003", targetFieldName = "m_prescStatusName")
    private String m_prescStatus;
    
    private String m_prescStatusName;
    

    /**
     * 默认构造器 .
     */
    public PdsSupply ()
    {
    }
    
    /**
     * @return the prescStatusName
     */
    public String getPrescStatusName ()
    {
        return m_prescStatusName;
    }

    /**
     * @param prescStatusName the prescStatusName to set.
     */
    public void setPrescStatusName (String prescStatusName)
    {
        m_prescStatusName = prescStatusName;
    }

    public String getOrderedBy ()
    {
        return m_orderedBy;
    }

    public void setOrderedBy (String orderedBy)
    {
        m_orderedBy = orderedBy;
    }

    public String getOrderedByName ()
    {
        return m_orderedByName;
    }

    public void setOrderedByName (String orderedByName)
    {
        m_orderedByName = orderedByName;
    }

    public String getPrescStatus ()
    {
        return m_prescStatus;
    }

    public void setPrescStatus (String prescStatus)
    {
        m_prescStatus = prescStatus;
    }

    /**
     * 获取供药ID属性.
     * 
     */
    public Long getSupplyId ()
    {
        return m_supplyId;
    }

    /**
     * 设置供药ID属性.
     * 
     * @param supplyId.
     */
    public void setSupplyId (Long supplyId)
    {
        m_supplyId = supplyId;
    }

    /**
     * 获取处方单号属性.
     * 
     */
    public String getPrescNo ()
    {
        return m_prescNo;
    }

    /**
     * 设置处方单号属性.
     * 
     * @param prescNo.
     */
    public void setPrescNo (String prescNo)
    {
        m_prescNo = prescNo;
    }

    /**
     * 获取就诊ID属性.
     * 
     */
    public Long getOutpVisitId ()
    {
        return m_outpVisitId;
    }

    /**
     * 设置就诊ID属性.
     * 
     * @param outpVisitId.
     */
    public void setOutpVisitId (Long outpVisitId)
    {
        m_outpVisitId = outpVisitId;
    }

    /**
     * 获取患者主索引ID（来源与EMPI）属性.
     * 
     */
    public String getPatientId ()
    {
        return m_patientId;
    }

    /**
     * 设置患者主索引ID（来源与EMPI）属性.
     * 
     * @param patientId.
     */
    public void setPatientId (String patientId)
    {
        m_patientId = patientId;
    }

    /**
     * 获取患者就诊次数属性.
     * 
     */
    public Long getVisitId ()
    {
        return m_visitId;
    }

    /**
     * 设置患者就诊次数属性.
     * 
     * @param visitId.
     */
    public void setVisitId (Long visitId)
    {
        m_visitId = visitId;
    }

    /**
     * 获取患者姓名属性.
     * 
     */
    public String getPatiName ()
    {
        return m_patiName;
    }

    /**
     * 设置患者姓名属性.
     * 
     * @param patiName.
     */
    public void setPatiName (String patiName)
    {
        m_patiName = patiName;
    }

    /**
     * 获取性别编码(GB2261-80)属性.
     * 
     */
    public String getPatiSex ()
    {
        return m_patiSex;
    }

    /**
     * 设置性别编码(GB2261-80)属性.
     * 
     * @param patiSex.
     */
    public void setPatiSex (String patiSex)
    {
        m_patiSex = patiSex;
    }

    /**
     * 获取年龄属性.
     * 
     */
    public String getPatiAge ()
    {
        return m_patiAge;
    }

    /**
     * 设置年龄属性.
     * 
     * @param patiAge.
     */
    public void setPatiAge (String patiAge)
    {
        m_patiAge = patiAge;
    }

    /**
     * 获取标识处方是从门诊而来或是从住院而来。0-门诊 1-住院 2-出院带药，3-急诊，4-平诊,5-门诊退药，6-住院退药属性.
     * 
     */
    public Integer getPrescSource ()
    {
        return m_prescSource;
    }

    /**
     * 设置标识处方是从门诊而来或是从住院而来。0-门诊 1-住院 2-出院带药，3-急诊，4-平诊,5-门诊退药，6-住院退药属性.
     * 
     * @param prescSource.
     */
    public void setPrescSource (Integer prescSource)
    {
        m_prescSource = prescSource;
    }

    /**
     * 获取医嘱名称(医嘱描述)属性.
     * 
     */
    public String getOrderName ()
    {
        return m_orderName;
    }

    /**
     * 设置医嘱名称(医嘱描述)属性.
     * 
     * @param orderName.
     */
    public void setOrderName (String orderName)
    {
        m_orderName = orderName;
    }

    /**
     * 获取总剂数属性.
     * 
     */
    public Integer getPxAmount ()
    {
        return m_pxAmount;
    }

    /**
     * 设置总剂数属性.
     * 
     * @param pxAmount.
     */
    public void setPxAmount (Integer pxAmount)
    {
        m_pxAmount = pxAmount;
    }

    /**
     * 获取每日剂数属性.
     * 
     */
    public Integer getPxDaily ()
    {
        return m_pxDaily;
    }

    /**
     * 设置每日剂数属性.
     * 
     * @param pxDaily.
     */
    public void setPxDaily (Integer pxDaily)
    {
        m_pxDaily = pxDaily;
    }

    /**
     * 获取剂型(字典码)属性.
     * 
     */
    public String getDosageForm ()
    {
        return m_dosageForm;
    }

    /**
     * 设置剂型(字典码)属性.
     * 
     * @param dosageForm.
     */
    public void setDosageForm (String dosageForm)
    {
        m_dosageForm = dosageForm;
    }

    /**
     * 获取剂型数量属性.
     * 
     */
    public Double getDosageFormAmount ()
    {
        return m_dosageFormAmount;
    }

    /**
     * 设置剂型数量属性.
     * 
     * @param dosageFormAmount.
     */
    public void setDosageFormAmount (Double dosageFormAmount)
    {
        m_dosageFormAmount = dosageFormAmount;
    }

    /**
     * 获取剂型数量单位属性.
     * 
     */
    public String getDosageFormUnit ()
    {
        return m_dosageFormUnit;
    }

    /**
     * 设置剂型数量单位属性.
     * 
     * @param dosageFormUnit.
     */
    public void setDosageFormUnit (String dosageFormUnit)
    {
        m_dosageFormUnit = dosageFormUnit;
    }

    /**
     * 获取是否代煎属性.
     * 
     */
    public String getBoilFlag ()
    {
        return m_boilFlag;
    }

    /**
     * 设置是否代煎属性.
     * 
     * @param boilFlag.
     */
    public void setBoilFlag (String boilFlag)
    {
        m_boilFlag = boilFlag;
    }

    /**
     * 获取服药频次属性.
     * 
     */
    public String getFreqCode ()
    {
        return m_freqCode;
    }

    /**
     * 设置服药频次属性.
     * 
     * @param freqCode.
     */
    public void setFreqCode (String freqCode)
    {
        m_freqCode = freqCode;
    }

    /**
     * 获取医嘱医疗频率执行描述（频次时间点以及用量相关信息)属性.
     * 
     */
    public String getFreqTimeQty ()
    {
        return m_freqTimeQty;
    }

    /**
     * 设置医嘱医疗频率执行描述（频次时间点以及用量相关信息)属性.
     * 
     * @param freqTimeQty.
     */
    public void setFreqTimeQty (String freqTimeQty)
    {
        m_freqTimeQty = freqTimeQty;
    }

    /**
     * 获取医嘱医疗频率属性.
     * 
     */
    public String getFreqName ()
    {
        return m_freqName;
    }

    /**
     * 设置医嘱医疗频率属性.
     * 
     * @param freqName.
     */
    public void setFreqName (String freqName)
    {
        m_freqName = freqName;
    }

    /**
     * 获取服药频次备注属性.
     * 
     */
    public String getFreqMemo ()
    {
        return m_freqMemo;
    }

    /**
     * 设置服药频次备注属性.
     * 
     * @param freqMemo.
     */
    public void setFreqMemo (String freqMemo)
    {
        m_freqMemo = freqMemo;
    }

    /**
     * 获取用法(给药途径)(字典表)属性.
     * 
     */
    public String getUsageId ()
    {
        return m_usageId;
    }

    /**
     * 设置用法(给药途径)(字典表)属性.
     * 
     * @param usageId.
     */
    public void setUsageId (String usageId)
    {
        m_usageId = usageId;
    }

    /**
     * 获取用法名称属性.
     * 
     */
    public String getUsageName ()
    {
        return m_usageName;
    }

    /**
     * 设置用法名称属性.
     * 
     * @param usageName.
     */
    public void setUsageName (String usageName)
    {
        m_usageName = usageName;
    }

    /**
     * 获取是否审核属性.
     * 
     */
    public String getCheckFlag ()
    {
        return m_checkFlag;
    }

    /**
     * 设置是否审核属性.
     * 
     * @param checkFlag.
     */
    public void setCheckFlag (String checkFlag)
    {
        m_checkFlag = checkFlag;
    }

    /**
     * 获取处方合格标志属性.
     * 
     */
    public String getQualifiedType ()
    {
        return m_qualifiedType;
    }

    /**
     * 设置处方合格标志属性.
     * 
     * @param qualifiedType.
     */
    public void setQualifiedType (String qualifiedType)
    {
        m_qualifiedType = qualifiedType;
    }

    /**
     * 获取核药人编码属性.
     * 
     */
    public String getUserIdCheck ()
    {
        return m_userIdCheck;
    }

    /**
     * 设置核药人编码属性.
     * 
     * @param userIdCheck.
     */
    public void setUserIdCheck (String userIdCheck)
    {
        m_userIdCheck = userIdCheck;
    }

    /**
     * 获取核药人属性.
     * 
     */
    public String getUserNameCheck ()
    {
        return m_userNameCheck;
    }

    /**
     * 设置核药人属性.
     * 
     * @param userNameCheck.
     */
    public void setUserNameCheck (String userNameCheck)
    {
        m_userNameCheck = userNameCheck;
    }

    /**
     * 获取审核备注属性.
     * 
     */
    public String getCheckMemo ()
    {
        return m_checkMemo;
    }

    /**
     * 设置审核备注属性.
     * 
     * @param checkMemo.
     */
    public void setCheckMemo (String checkMemo)
    {
        m_checkMemo = checkMemo;
    }

    /**
     * 获取审核时间CHECK_DATETIME 属性.
     * 
     */
    public Date getCheckDatetime ()
    {
        if (m_checkDatetime == null)
        {
            return null;
        }
        return (Date) m_checkDatetime.clone ();
    }

    /**
     * 设置审核时间CHECK_DATETIME 属性.
     * 
     * @param checkDatetime.
     */
    public void setCheckDatetime (Date checkDatetime)
    {
        if (checkDatetime == null)
        {
            m_checkDatetime = null;
        }
        else
        {
            m_checkDatetime = (Date) checkDatetime.clone ();
        }
    }

    /**
     * 获取0=西药 1=中草药 2=中成药,3=免煎药处方属性.
     * 
     */
    public Integer getPrescClassfication ()
    {
        return m_prescClassfication;
    }

    /**
     * 设置0=西药 1=中草药 2=中成药,3=免煎药处方属性.
     * 
     * @param prescClassfication.
     */
    public void setPrescClassfication (Integer prescClassfication)
    {
        m_prescClassfication = prescClassfication;
    }

    /**
     * 获取处方类型(普通、毒、麻、精一)属性.
     * 
     */
    public String getPrescType ()
    {
        return m_prescType;
    }

    /**
     * 设置处方类型(普通、毒、麻、精一)属性.
     * 
     * @param prescType.
     */
    public void setPrescType (String prescType)
    {
        m_prescType = prescType;
    }

    /**
     * 获取开立医师编码属性.
     * 
     */
    public String getEmpIdBegDoct ()
    {
        return m_empIdBegDoct;
    }

    /**
     * 设置开立医师编码属性.
     * 
     * @param empIdBegDoct.
     */
    public void setEmpIdBegDoct (String empIdBegDoct)
    {
        m_empIdBegDoct = empIdBegDoct;
    }

    /**
     * 获取开立医师名称属性.
     * 
     */
    public String getEmpNameBegDoct ()
    {
        return m_empNameBegDoct;
    }

    /**
     * 设置开立医师名称属性.
     * 
     * @param empNameBegDoct.
     */
    public void setEmpNameBegDoct (String empNameBegDoct)
    {
        m_empNameBegDoct = empNameBegDoct;
    }

    /**
     * 获取执行科室属性.
     * 
     */
    public String getOrgIdExec ()
    {
        return m_orgIdExec;
    }

    /**
     * 设置执行科室属性.
     * 
     * @param orgIdExec.
     */
    public void setOrgIdExec (String orgIdExec)
    {
        m_orgIdExec = orgIdExec;
    }

    /**
     * 获取创建时间属性.
     * 
     */
    public Date getCreateDate ()
    {
        if (m_createDate == null)
        {
            return null;
        }
        return (Date) m_createDate.clone ();
    }

    /**
     * 设置创建时间属性.
     * 
     * @param createDate.
     */
    public void setCreateDate (Date createDate)
    {
        if (createDate == null)
        {
            m_createDate = null;
        }
        else
        {
            m_createDate = (Date) createDate.clone ();
        }
    }

    /**
     * 获取是否作废（0：未作废、1：已作废）属性.
     * 
     */
    public String getIsInvalid ()
    {
        return m_isInvalid;
    }

    /**
     * 设置是否作废（0：未作废、1：已作废）属性.
     * 
     * @param isInvalid.
     */
    public void setIsInvalid (String isInvalid)
    {
        m_isInvalid = isInvalid;
    }

    /**
     * 获取参考费用属性.
     * 
     */
    public Double getAmountSuggest ()
    {
        return m_amountSuggest;
    }

    /**
     * 设置参考费用属性.
     * 
     * @param amountSuggest.
     */
    public void setAmountSuggest (Double amountSuggest)
    {
        m_amountSuggest = amountSuggest;
    }

    /**
     * 获取收费时间属性.
     * 
     */
    public Date getChargeDate ()
    {
        if (m_chargeDate == null)
        {
            return null;
        }
        return (Date) m_chargeDate.clone ();
    }

    /**
     * 设置收费时间属性.
     * 
     * @param chargeDate.
     */
    public void setChargeDate (Date chargeDate)
    {
        if (chargeDate == null)
        {
            m_chargeDate = null;
        }
        else
        {
            m_chargeDate = (Date) chargeDate.clone ();
        }
    }

    /**
     * 获取收据号属性.
     * 
     */
    public String getRcptNo ()
    {
        return m_rcptNo;
    }

    /**
     * 设置收据号属性.
     * 
     * @param rcptNo.
     */
    public void setRcptNo (String rcptNo)
    {
        m_rcptNo = rcptNo;
    }

    /**
     * 获取发药、退药标记属性.
     * 
     */
    public String getSendOrReturnFlag ()
    {
        return m_sendOrReturnFlag;
    }

    /**
     * 设置发药、退药标记属性.
     * 
     * @param sendOrReturnFlag.
     */
    public void setSendOrReturnFlag (String sendOrReturnFlag)
    {
        m_sendOrReturnFlag = sendOrReturnFlag;
    }

    /**
     * 获取患者当前就诊院区编码（字典表，TJ0039院区编码）属性.
     * 
     */
    public String getOrgIdHospital ()
    {
        return m_orgIdHospital;
    }

    /**
     * 设置患者当前就诊院区编码（字典表，TJ0039院区编码）属性.
     * 
     * @param orgIdHospital.
     */
    public void setOrgIdHospital (String orgIdHospital)
    {
        m_orgIdHospital = orgIdHospital;
    }

    /**
     * 获取处方来源名称
     * 
     * @return
     */
    public String getPrescSourceName ()
    {

        return m_prescSourceName;
    }

    /**
     * 设置处方来源名称
     * 
     * @param prescSourceName
     */
    public void setPrescSourceName (String prescSourceName)
    {

        m_prescSourceName = prescSourceName;
    }

    /**
     * 获取处方类别名称
     * 
     * @return
     */
    public String getPrescClassifcationName ()
    {

        return m_prescClassifcationName;
    }

    /**
     * 设置处方类别名称
     * 
     * @param prescClassifcationName
     */
    public void setPrescClassifcationName (String prescClassifcationName)
    {

        m_prescClassifcationName = prescClassifcationName;
    }
    
        /**
     * @return the qualifiedTypeName
     */
    public String getQualifiedTypeName ()
    {
        return m_qualifiedTypeName;
    }

    /**
     * @param qualifiedTypeName the qualifiedTypeName to set.
     */
    public void setQualifiedTypeName (String qualifiedTypeName)
    {
        m_qualifiedTypeName = qualifiedTypeName;
    }

        /**
     * 获取处方类型名称
     * 
     * @return
     */
    public String getPrescTypeName ()
    {

        return m_prescTypeName;
    }

    /**
     * 设置处方类型名称
     * 
     * @param prescTypeName
     */
    public void setPrescTypeName (String prescTypeName)
    {

        m_prescTypeName = prescTypeName;
    }

    /**
     * 获取执行科室名称
     * 
     * @return
     */
    public String getOrgIdExecName ()
    {

        return m_orgIdExecName;
    }

    /**
     * 设置执行科室名称
     * 
     * @param orgIdExecName
     */
    public void setOrgIdExecName (String orgIdExecName)
    {

        m_orgIdExecName = orgIdExecName;
    }

    /**
     * 打印字符串.
     * 
     * @return 打印.
     */
    public String toString ()
    {
        StringBuffer sb = new StringBuffer (100);
        sb.append ("---------------------------------- start ----------------------------------");
        sb.append ("supplyId:" + m_supplyId + " prescNo:" + m_prescNo + " outpVisitId:" + m_outpVisitId);
        sb.append ("patientId:" + m_patientId + " visitId:" + m_visitId + " patiName:" + m_patiName);
        sb.append ("patiSex:" + m_patiSex + " patiAge:" + m_patiAge + " prescSource:" + m_prescSource);
        sb.append ("orderName:" + m_orderName + " pxAmount:" + m_pxAmount + " pxDaily:" + m_pxDaily);
        sb.append ("dosageForm:" + m_dosageForm + " dosageFormAmount:" + m_dosageFormAmount + " dosageFormUnit:" + m_dosageFormUnit);
        sb.append ("boilFlag:" + m_boilFlag + " freqCode:" + m_freqCode + " freqTimeQty:" + m_freqTimeQty);
        sb.append ("freqName:" + m_freqName + " freqMemo:" + m_freqMemo + " usageId:" + m_usageId);
        sb.append ("usageName:" + m_usageName + " checkFlag:" + m_checkFlag + " qualifiedType:" + m_qualifiedType);
        sb.append ("userIdCheck:" + m_userIdCheck + " userNameCheck:" + m_userNameCheck + " checkMemo:" + m_checkMemo);
        sb.append ("checkDatetime:" + m_checkDatetime + " prescClassfication:" + m_prescClassfication + " prescType:" + m_prescType);
        sb.append ("empIdBegDoct:" + m_empIdBegDoct + " empNameBegDoct:" + m_empNameBegDoct + " orgIdExec:" + m_orgIdExec);
        sb.append ("createDate:" + m_createDate + " isInvalid:" + m_isInvalid + " amountSuggest:" + m_amountSuggest);
        sb.append ("chargeDate:" + m_chargeDate + " rcptNo:" + m_rcptNo + " sendOrReturnFlag:" + m_sendOrReturnFlag);
        sb.append ("orgIdHospital:" + m_orgIdHospital);

        sb.append ("----------------------------------  end  ----------------------------------");
        return sb.toString ();
    }

    /** 日志记录器. */
    public static final Logger s_logger = LoggerFactory.getLogger (PdsSupply.class);

    /** 公司版权信息. */
    public static final String copyright = "Copyright 2015, TH Supcom Corporation";

    /** 提交路径. */
    public static final String SCC_BRANCH = "$URL$";

    /** 提交日期. */
    public static final String SCC_LAST_MODIFICATION_DATE = "$Date$";

    /** 最终修改人员. */
    public static final String SCC_LAST_MODIFIER_NAME = "$Author$";

    /** 最终版本号. */
    public static final String SCC_REVISION = "$Revision$";
}